package com.yunhe.policyfulfillment.policyful.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName PolicyInfoMatterVo
 * @Description TODO
 * @Author HeTao
 * @Date 2021/7/26 15:30
 * @Version 1.0
 **/
@Data
@ApiModel(value = "PolicyInfoMatterVo",description = "事项列表出参对象")
public class PolicyInfoMatterVo implements Serializable {

    private static final long serialVersionUID = -6487689186388541106L;

    @ApiModelProperty("事项id")
    private Long id;

    @ApiModelProperty("事项名称")
    private String title;

    @ApiModelProperty("事项编号")
    private String code;

    @ApiModelProperty("组织id")
    private Integer orgId;

    @ApiModelProperty("组织名称")
    private String orgName;

    @ApiModelProperty("发布人")
    private long publishPerson;

    @ApiModelProperty("申报状态 01 未开始 02 申报中 03 已截止")
    private String matterStatus;

    @ApiModelProperty("是否上线 01 上线 02 下线")
    private String online;

    @ApiModelProperty("发布时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    private Date publishTime;

    @ApiModelProperty("发布人名称")
    private String publishPersonName;

    @ApiModelProperty("申报开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd" )
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date declareStartTime;

    @ApiModelProperty("申报结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd" )
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date declareEndTime;

    @ApiModelProperty("有效期限")
    private String validityPeriod;

    @ApiModelProperty("当前申请企业数")
    private int currentDeclareCount = 0;

    @ApiModelProperty("拨款企业数量")
    private int grantEnterpriseCount = 0;

    @ApiModelProperty("访问次数")
    private long accessCount;

    @ApiModelProperty("更新人")
    private Long updatePerson;

    @ApiModelProperty("更新人名称")
    private String updatePersonName;

    @ApiModelProperty("申报对象")
    private String declarationObject;

    @ApiModelProperty("申报方式")
    private String declarationMethod;

    @ApiModelProperty("申报数量")
    private long declaredQuantity;
}
